package com.ruoyi.common.core.domain.vo;

import com.baomidou.mybatisplus.annotation.*;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.entity.Picture;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

@Data
public class ProductVo {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    /**
     * 逻辑删除 0：未删除 1：已删除
     */
    @Excel(name = "逻辑删除 0：未删除 1：已删除")
    @TableLogic
    @TableField("is_deleted")
    private Integer isDeleted;

    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 名称
     */
    @Excel(name = "名称")
    private String name;

    /**
     * 搜索关键词
     */
    private String keyword;

    /**
     * 描述
     */
    @Excel(name = "描述")
    private String description;

    /**
     * 原价，单位是元
     */
    @Excel(name = "原价，单位是元")
    private BigDecimal originalPrice;

    /**
     * 价格，单位是元
     */
    @Excel(name = "价格，单位是元")
    private BigDecimal price;

    /**
     * 类别
     */
    @Excel(name = "类别")
    private Long productCategoryId;

    /**
     * 分类名称
     */
    private String productCategoryName;


    /**
     * 商品主人
     */
    @Excel(name = "商品主人")
    private Long userId;

    /**
     * 商品主人的昵称
     */
    private String username;
    /**
     * 商品主人的昵称
     */
    private String nickname;
    /**
     * 商品主人头像
     */
    private String avatar;

    /**
     * 商品审核人
     */
    @Excel(name = "商品审核人")
    private Long reviewerId;

    /**
     * 商品审核人的用户名
     */
    private String reviewerUserName;

    /**
     * 成色 0：全新 1：几乎全新 2：轻微使用痕迹 3：明显使用痕迹 4：外观破损
     */
    @Excel(name = "成色 0：全新 1：几乎全新 2：轻微使用痕迹 3：明显使用痕迹 4：外观破损")
    private Integer fineness;

    /**
     * 商品数量
     */
    @Excel(name = "商品数量")
    private Integer number;

    /**
     * 计量单位
     */
    @Excel(name = "计量单位")
    private String unit;

    /**
     * 0：在售 1：售出 2：下架
     */
    @Excel(name = "0：在售 1：售出 2：下架 ")
    private Integer status = 0;

    /**
     * 0：售卖 1：捐赠
     */
    @Excel(name = "0：售卖 1：捐赠 ")
    private Integer isContribute;

    /**
     * 0：功能完好无维修 1：维修过，可正常使用 2：有小问题，不影响使用 3：无法正常使用
     */
    @Excel(name = "0：功能完好无维修 1：维修过，可正常使用 2：有小问题，不影响使用 3：无法正常使用")
    private Integer functionalStatus;

    /**
     * 品牌id
     */
    @Excel(name = "品牌id")
    private Long brandId;

    /**
     * 品牌名称
     */
    private String brandName;

    /**
     * 商品图片地址集合
     */
    private List<Picture> picList;

    /**
     * 收藏该商品的人数
     */
    private Integer starNum;

    /**
     * 阅读数量
     */
    private Integer readNum;

    /**
     * 是否是查询收藏的商品
     */
    private Boolean isSearchStar;

    /**
     * 收藏商品的人
     */
    private Long starPeopleId;

    /**
     * 第一列的宽高比之和
     */
    private Double sumAspectRatioOfColumn1;
    /**
     * 第二列的宽高比之和
     */
    private Double sumAspectRatioOfColumn2;
    /**
     * 商品信息的高宽比
     */
    private Double messageAspectRatio;

    private Long schoolId;

    private Long campusId;

}
